package com.demo.jzoffer2;

import org.junit.Test;

/**
 * @author gy
 * @date 2022/11/15
 */
public class Test0106_01 {

    /**
     * 从0~n排列好的数字中缺少的一位数字
     * @param nums
     * @return
     */
    public int missingNumber(int[] nums){
        int i = 0,j = nums.length - 1;
        // 当跳出循环的时候，i指向右边数组的首位元素（m + 1）
        // j指向左边数组的末尾元素（m - 1）
        while (i <= j){
            int m = (i + j) / 2;
            if (nums[m] == m){
                i = m + 1;
            }else{
                j = m - 1;
            }
        }
        return i;
    }


    @Test
    public void m1() {

    }

    @Test
    public void m2(){

    }

}
